﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Web.UI.WebControls;
using Demo.DataModel;
using Demo.Web.Mvvm;

namespace Demo.WebApp
{
    public partial class CustomerList : System.Web.UI.UserControl
    {
        public bool UsePopup { get; set; }

        [Inject]
        public ICustomerList controller { get; set;}

        protected void Page_Load(object sender, EventArgs e)
        {
        }

        [EventSubscription]
        void OnCustomerListChanged(object sender, EventArgs e)
        {
            try
            {
                CustomerGridView.DataBind();
            }
            catch (Exception ex)
            {
                ErrorHandler.HandleException(this, ex);
            }            
        }

        protected void CustomerListDataSource_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
        {
            e.ObjectInstance = controller;
        }

        protected void CustomerGridView_SelectedIndexChanged(object sender, EventArgs e)
        {
            controller.SelectCustomer(CustomerGridView.SelectedDataKey.Value.ToString());
        }

        protected void btnNew_Click(object sender, EventArgs e)
        {
            controller.NewCustomer();
        }
    }
}